<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
    // lastIndex 每次test之后下一次匹配的字符的位置 ，
    //     如果是g全局匹配，每一次匹配的位置都是接着上一次匹配的位置后面匹配
        // lastIndex就是reg中记录上一次匹配位置的属性
    // var str="good good study day day up"
    // var str1="day day"
    // var reg=/day/ig;
    // console.log(reg.lastIndex)
    // var result=reg.test(str)
    // console.log(reg.lastIndex)
    // var result=reg.test(str)
    // console.log(reg.lastIndex)
    // var result=reg.test(str)
    // console.log(reg.lastIndex)


        // *前面的字符出现0次或多次 如果有多个字符用()括起来
        // var reg=/da*y/ig;
        
        // +前面的字符出现一次或多次
        // var reg=/da+y/ig;
        
        // ?前面的字符出现0次或1次
        // var reg=/da?y/ig;
        
        // 精确匹配（包含关系，匹配字符中是否含有正则表达式）
        // var reg=/da{n,m}y/ig;
        // var reg=/da{n,}y/ig;
        var str="daaaaay"
        var reg=/da{5}y/ig;
       console.log(reg.test(str),reg.exec(str))

    //  \d   包含[0-9]的字符
    //  \D   包含非[0-9]的字符
    //  \w   包含字母、数字、下划线的字符
    //  \W   包含非字母、数字、下划线的字符
    //   .   包含\n以外的字符
    //  \s   包含\n,\r,\f,\t,\v（空字符）的字符
    //  \S   包含\n,\r,\f,\t,\v以外的字符
    //  \u4e00-\u9fa5   中文字符
    
    // [^]中括号里面的^ 非的意思

    // [|]或
    // (blue|red|green) 匹配某段字符用括号

    // 身份证
    var reg=/^\d{17}(X|\d)$/
    // 日期格式
    var reg=/^\d{4}(-|\.|\/)\d{2}(-|\.|\/)\d{2}$/
    // 只能输入中文
    var reg=/[^\u4e00-\u9fa5$]+$/g
    // 账户名只能使用数字字母下划线，且数字不能开头的6到15个字符
    var reg=/^[a-zA-Z_]\W{5,14}$/
    // 验证ip
    var reg=/[]{3}/
    // 邮政编码 6位数字 第一位不能为0
    var reg=/^[1-9]\d{5}$/
    // 检查文件压缩包 zip/gz/rar结尾
    var reg=/^\w+(.\zip|.\gz|.rar)$/
    // 电子邮件
    var reg=/\w+@\w+(\.\w+)+/
    // 手机号
    var reg=/^1\d{10}/
    // 删除多余空格
    str.replace(/\s+/,"")
    // 删除多余首尾空格
    str.replace(/^\s+/,"")
    str.replace(/\s+$/,"")
    str.replace(/(^\s+|\s+$)/,"")

    str.replace("bug",/^b[aeio]g$/)
    </script>
</body>
</html>